const Img64 = require("../file/Img64");

class PostImg {
    constructor(obj) {
        this.img = obj.body.img;
        this.circlePostId = obj.body.circlePostId;
        this.idx = obj.body.idx;
        this.buffer = null;
    }

    check() {
        let { circlePostId, idx } = this;
        // 如果没有传递是第几张图片，默认第一张
        if (!idx) {
            idx = 0;
        }
        // 如果传递过来的是字符串则尝试转换为整型
        try {
            idx = parseInt(idx);
        } catch (err) {
            return { success: false, msg: '图片序号格式错误' };
        }
        // 如果没有传递动态id，则返回错误
        if (!circlePostId) {
            return { success: false, msg: '动态id不允许为空' };
        }
        // 如果传递过来的是字符串则尝试转换为整型
        try {
            circlePostId = parseInt(circlePostId);
        } catch (err) {
            return { success: false, msg: '动态id格式错误' };
        }
        let img64 = new Img64(this);
        let flag = img64.check();
        if (!flag.success) {
            return flag;
        }
        // 将 buffer 赋值给 this.buffer
        this.buffer = img64.buffer;
        return { success: true };
    }
}

module.exports = PostImg;